<?php
namespace Admin\Controller;
use Think\Controller;
use Lib\Cate\Level;
/**
 * 栏目控制器
 */
class CategoryController extends CommonController{
	/**
	 * 栏目列表视图
	 */
	public function index(){
		$cate = M('category')->order('sort ASC')->select();
		$cate = Level::unlimitedForLevel($cate,'&nbsp;&nbsp----&nbsp;&nbsp;');

		$this->assign('cate',$cate);
		$this->display();
	}
	/**
	 * 添加栏目视图
	 */
	public function addCate(){
		$pid = I('pid',0,'int');

		$this->assign('pid',$pid);//子栏目id
		$this->display();
	}
	/**
	 * 添加栏目表单处理
	 */
	public function runAddCate(){
		if(M('category')->add(I('post.'))){
			$this->success('添加栏目成功!',U('index'));
		}else{
			$this->error('添加栏目失败');
		}
	}
	/**
	 * 排序
	 */
	public function sortCate(){
		$db = M('category');
		foreach(I('post.') as $id=>$sort){
			$db->where(array('id'=>$id))->setField('sort',$sort);
		}
		redirect(U('Admin/category/index'));
	}
	/**
	 * 删除栏目
	 */
	public function delCate(){
		$id = I('get.id','','int');
		$db = M('category');
		$cateid = $db->field(array('id','pid'))->select();
		$delid = get_all_child($cateid,$id);
		$delid[] = $id;
		$where = array('id'=>array('IN',$delid));
		if(!$db->where($where)->delete()){
			$this->error('删除栏目失败');
		}else{
			$this->success('删除栏目成功',U('index'));
		}
	}
	/**
	 * 修改栏目名称
	 */
	public function edit(){
		$id = I('get.id','','int');
		$this->cate = M('category')->field(array('id','name'))->find($id);
        $this->display();
	}
	/**
	 * 修改栏目处理方法
	 */
	public function editCate(){
		if(M('category')->save(I('post.'))){
            $this->success('修改分类成功',U('index'));
        }else{
            $this->error('修改分类失败');
        }
	}
}